23

» WarCraft 3 / Москиты

Похожие вопросы:

ответ
ой сорь, забыл малость, там не событе а функция с похожим названием:
Прикладываю пример, чтобы потом не ныли что не работает...
ответ
С москитами точно так же двигается, вы наверное забыли что юниты с москитами нельзя выбрать функцией ForGroup.
ответ
~8gabriel8:
Скачай редактор JNGP (JASS New Gen Pack), там есть способность москиты и в редакторе объектов, и в триггерах.
ответ
EvilPenguin, эмм как насчет морф в героя с москитами, потом морф обратно. Самая тру тема.
ответ
Потому что пауза снимает часть эффекта москитов, а многие абилки паузят юнитов - ну чтобы панда пивовар не бегал в ульте пока бегают три духа к примеру, голем наверное создается сразу и паузится пока не пройдет анимация а потом пауза снимается, хз как там конечно близзарды сделали и зачем, но факт остается фактом.

23

» WarCraft 3 / Реплей

Похожие вопросы:

ответ
Жрет не существенно, но я чаще всего выключаю запись. Когда тестирует другой человек, самому легче наблюдать за багами и из за чего они происходят через реплей, чем искать причину их возникновения из слов.
Смотря на сколько времени рассчитана карта. Если на пару часов, то ничего страшного, а если на 10 и больше, то желательно не записывать.

23

» WarCraft 3 / jasshelper не работает

Похожие вопросы:

ответ
Думал использовать чисто для экономии времени. По хорошему конечно надо самому написать системки, да все руки не доходят.
Может тогда подскажите, есть ли готовые более менее пригодные для использования. Сам всегда делал через торнадо, разве это уже не модно?
ответ
Причина может быть в путях к jngp, обычно для вызова джасхелпера нужно 2 сохранения подряд в папку, где нет кириллицы. Бтв, можно вызвать коплит карты вручную через Sc.exp > Compile map. А так же может быть выключен сам джасхелпер в vjass > enableJassHelper.

23

» WarCraft 3 / Проверка файла мемхаком

Похожие вопросы:

ответ
pro100master, сам в шоке. Первый раз такие траблы.
pro100master, интересное кино о_О! Переименовал файл карты и юзанул на него Sc.Exp -> Compile Map.. И о чудо! Всё работает... Короче прошу простить за то что потривожил.

23

» WarCraft 3 / Опыт за убийство.

Похожие вопросы:

ответ
в константах настраивается
там есть таблица опыта
ответ
я изменил там все поля связанные с опытом на ноль (кроме фактора предыдущего значения, он ниже единицы не ставился), а с таблиц просто поудалял значения. вот видимо при загрузке оно туда вписывало стандартные... сейчас поставил туда тоже нолик, все норм стало. (:
ответ
игровые константы - опыт: общее распределение - поменяй на "нет"....
ответ
Игрок -> и там поищи.
ответ
~8gabriel8:
Посмотри в игровых константах, скорее всего там есть. А так мне приходит в голову вариант триггерный, когда все появляющиеся на карте юниты заносятся в триггер отлова урон, где два проверочных условия: источник урона-здание, наносимый урон больше или равен текущему здоровью, а в действии нанести этот урон от лица героя, владелец которого соответствует источнику урона.

23

» WarCraft 3 / Редактор

Похожие вопросы:

ответ
Делать свой ИИ, либо в редакторе ИИ, либо писать самому.
Ещё можешь дописать своих юнитов в стандартные скрипты.
ответ
Ты добавлял кости? Или через "повышение урона (улучшение)"? Значение последнего у юнита помечено — это добавится "базовый урон".
ответ
www.wc3c.net/tools/specs тут есть
NEW Frozen Throne expansion pack format of "war3map.w3u / w3t / w3b / w3d / w3a / w3h / w3q" The object data files (thanks PitzerMike):

23

» WarCraft 3 / Проблема не знаю с чем

Похожие вопросы:

ответ
Gerhop, проверь занесены ли даммики в группу. Если занесены и триггер у тебя включен, то хоть что-то должно происходить. НО на гуи такое сделать сложно и нефиг делать хотя бы из-за того, что играть ты сможешь ну максимум минут 20. Потом вар скрашится на рабочий стол.
ответ
Не поленился, нашел:
Пора пилить статью на эту тему.
ответ
Можно и так, я привык писать их как надо, а то ГОВНОКОДА полно
На самом деле, сущности с одинаковым назначением стоит держать в одном месте, но в GUI это по большому счёту фломастеры.
ApoloZ2:
как сделать чтобы только 1 раз высвечивал?
Действие - триггеры - Turn this trigger off.
ответ
ENAleksey, ну я же не могу твою модификацию запихнуть в карту.

23

» WarCraft 3 / Как улучшить триггер?

Похожие вопросы:

ответ
я сделал, спасибо каждому, кто откликнулся!
ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
Перенеси условия в блоки "Иначе", как на картинке и тогда попробуй.
Должно создаваться по одному предмету за раз.
алсо - "Модернизация"
ответ
ну ловиш что начинает строить и заносиш юнит в режиме постройке и проверяеш.
если здание разрушено и проверить массив если он улучшает то true иначе false
ответ
~8gabriel8:
Почитай про утечки точек, как их создавать и удалять. Не знаю, как в твоём новом патче, но в 1.26 приказ отдаётся максимум 12 юнитам, у тебя может быть также, потому лучше отдавать приказ сразу после создания.
Предлагаю улучшить так:
  • Создать переменные для двух точек;
  • В триггере инициализации указать точкам значение центра областей 016 и 025;
  • Сделать периодический триггер с условием, что Король Мёртвых жив, а в действиях создание групп юнитов в одной точке, а сразу после создания приказ (Last Created Group) Перейти, нападая на противников, в другую точку;
  • По идее ещё бы отключить триггер за ненадобностью после смерти Короля Мёртвых, раз уж много таких триггеров, но всё равно изменение нагрузки будет незаметным, поэтому можно не отключать.
P. S. Утечка точки весит 0.361 кб, даже если не удалять утечки в этом триггере, то за 30 минут это будет 0.361х4х30=43.32 кб, что вполне приемлимо.

23

» WarCraft 3 / Анимация

Похожие вопросы:

ответ
~8gabriel8:
Вот есть вариант: xgm.guru/p/wc3/222019?postid=413030#comment28
ответ
~8gabriel8:
Да, сейчас проверил, не работает отражение по вершинам. Казалось, что раньше это делал через отрицательный масштаб.
Но есть такой комментарий, где кроме матрикса предлагают отрицательный масштаб для bone_root в глобальной анимации задать:

23

» WarCraft 3 / Погода

Похожие вопросы:

ответ
Вопрос есть в FAQ вроде. Необходимо добавить действие "окружение - включить последний созданный эффект погоды"
Ну и настройки графики должны быть как минимум на средних!
ответ
nvc123, насколько я помню - отключение не помогало, только уничтожение.
ответ
Вот так, это вроде самое легкое что есть там
ответ
Эффекты стакаются в одном регионе (и даже чуть дальше него) крайне сложным образом, и зависит их совместимость от равкода. Я, когда писал погоду для морлоков с этим сталкивался, и возможно описывал проблему... лет 10 назад) Лечится импортом своей таблицы с погодой и подборкой равкодов. Ну и как вариант для более сильного дождя например можно вместо попытки добавить 2 эффекта и той-же таблице просто прописать побольше частиц.
ответ
После создания, погодный эффект нужно занести в переменную и включить его (там есть действие). Когда нужно изменить погодный эффект, то старый нужно удалить, для этого мы его занесли в переменную.

23

» Администрация XGM / Ссылка на комментарий

Принятый ответ
Похожие вопросы:

ответ
Если не сложно, нажми у себя там "Лучший ответ", чтобы этот вопрос больше в активных не светился.
ответ
ХеллКор вроде писал когда-то, что на самом деле всё работает, даже не смотря на то, что выдаёт ошибку, сообщение до администрации всё равно доходит. Не знаю, правда, как сейчас.
ответ
Да старая известная бага, зашитая глубоко в недрах кода. Поэтому фиксить врятли будем. Но пока что думаем, как это можно исправить в будущем. В любом случае постараемся решить её в новом релизе

23

» WarCraft 3 / Взлом карты.

Похожие вопросы:

ответ
SAGOR0, закрой уже вопрос, никто тебе не будет помогать ломать карту. Что лучше сделать тебе уже посоветовали.
ответ
тут дело в конфликте
ибо системные функции(создание стартовых точек,main и прочее) депротектор автоматически переносит в файл для пользовательских функций
и теперь тебе надо просто удалить их из этого файла
файл называется war3map.wct
вот на будущее статья
ответ
Руками, но ломать карты нехорошо, мб попытаться сделать своими руками?
Карту крепить сюда, а не на ргхосты де хрен что скачаешь.
Кстати а какие могут быть проблемы со взломом у нашего юнного ломастера? Карта покрыта тулами векса, открыл RMPQ, ничего особенного.
Если ничего не знаешь об устройстве карты и JASS сразу забудь о взломе, ибо ты ничего не сможешь сделать сам.
ответ
у тебя кусок кода с библиотекой и глобалом
вывод
поставь нормальный редактор
либо ручками j файл правь

23

» WarCraft 3 / Порча

Похожие вопросы:

ответ
А добавит проверку "если тип почвы в позиции (x, y) == "нужный тебе" то заменяем сложно? Проверка типа ландшафта тоже вшита в стандартное гуи варика.
ответ
~8gabriel8:
"Рассеять чары" мгновенно убирает порчу.
ответ
Проверка по типу, порченое и обычное это две разные декорации.
ответ
ну, тогда никак

23

» WarCraft 3 / Из моба в героя

Похожие вопросы:

ответ
Для ботов можно имитировать покупку предметов - отнимать деньги и давать предмет. Но это очень простой алгоритм для тупеньких ботов что будут сливаться по КД. Если хочешь слепить нечто, хотя бы изображающее сопротивление - простой покупки предметов никак не хватит. Нужно учитывать как можно больше игровых ситуаций и написать (триггерами) план действий в таких условиях. И тестить, тестить, тестить.
ответ
закрыт по таймауту
ответ
Ты же понимаешь что под это описание подходит почти каждая ORPG прошлого? Как вариант могу предложить SOLs rpg, Помню ещё одну там ещё лошадей покупать можно было и там и правда город посередине но тоже забыл название. Описывай более особенные вещи или ищи сам вот тут www.epicwar.com/maps/search/?n=orpg&go=1

23

» WarCraft 3 / Тип переменной

Похожие вопросы:

ответ
Stigmator, невозможно сослаться на переменную из триггеров. Только на РО поля.
ответ
Sync функции нужны для синхроеизации локальных данных через кеш.
ответ
даже наличие 2000 глобальный переменных особо не скажется на производительности, значение лишь имеет их обнуление и само использование в коде карты
ответ
Пушистый, я пытаюсь локальной переменной присвоить значение глобальной переменной типа Способность и пишет: Cannot convert integer to ability
local ability s
set udg_BuferAbility=GetSpellAbilityId()
set s=udg_BuferAbility

23

» WarCraft 3 / Приказ

Похожие вопросы:

ответ
~8gabriel8:
Вот что есть по первой ссылке в поиске Google:
ответ
Steal nerves:
Не могу найти в списке функций GetConstructingUnit или что нибудь такое.
ApaxHoqpuJL, как не можешь. там в гуи есть такие только без Get. эта переменная на jass.

ApaxHoqpuJL, еще можно запретить строить на начальном этапе - проверить приказ стройки. проверяешь какое здание строит. id приказ => id здание.
во время события приказа в точку можно отдать приказ стоп, однако, "stop" не может сбить приказ в точку (даже стоп не помогает, не знаю почему. юнит просто бежит выполнять приказ в точку. замечал два раза такое).
Он просто не сбивает. Решение находил такое: я отдавал приказ двигаться в тек позицию юнита, и юнит останавливался и не бежал туда. Единственное, что замечано - что статические повороты делает, хотя не так существенно.
call IssuePointOrder(GetTriggerUnit(), "move", GetUnitX(GetTriggerUnit()), GetUnitY(GetTriggerUnit()) )
позже нашел другой способ у СССР-а - пауза. не делает развороты не нужные
сall PauseUnit(GetTriggerUnit(), true) //<= вкл паузу
call IssueImmediateOrder(GetTriggerUnit(), "stop")
сall PauseUnit(GetTriggerUnit(), false) //<= выкл паузу
и одновременно выдать текстовое оповещение игроку: "вы это здание не можете строить"
ответ
constant integer ORDER_wandillusion=852274
ответ
WAGARAX, способности не сбивающие текущий приказ, их штук 7 на весь варкравт, все эти абилки без указания цели. Виндвалк, берсерк, божественный щит, иммолейшин, щит маны и все прочие щиты на вкл\выкл.
ответ
не совсем понятно чего вы добиваетесь
перемещение юнита через сет позишн сбивает текущие приказы, а так же есть такая вещь как
native GetUnitCurrentOrder takes unit whichUnit returns integer
так что сабж не ясен

23

» WarCraft 3 / Помогите с созданием карты!

Похожие вопросы:

ответ
разделы 1 и 2
пока не прочитаешь не возвращайся
ответ
N7 Molot:
Sasha166:
Да там есть спец. эф в заклинаниях "похитить" называется.
Должна сфера появится, типа душа.
В карте, что я прикреплял сюда она есть, и как-то тоби сделал, что их создавалось не по 20 штук, а только одна.
Ну и не только атака должна отниматься, но у хп реген.
Ну а так-то пример хороший, и понятно что делать, в том случае, если захочу делать больше уровней для способности.
Пере заливаю.
molot39:
Что нужно для ГУИ:
  1. Способность - 3 шт.
  • для героя (любая пустая аура, или же можно пасивку)
  • 2 способности для атрибутов, для атаки 20 уровней (20 душ) и для регена 30 уровней (30 душ)
  1. Если у нас аура, то заклинание с иконкой и описанием
  1. Сам герой со одной способностью (аура или пасива)
  1. Триггер - 1 шт.
Скрин
Где стоит условие (убийца) имеет баф, можно поставить уровень убийцы больше или равно 1, если у нас пасива.
Что получается, если мы убиваем первого героя имея способность, получаем способность и уровень становится 1, последующие убийства увеличивают уровень, через условие не даем повышать ненужные уровни, убивают нас, способности теряем.
Так же можно добавить эффекты, через дамми или же что нить ещё, и когда нас убивают наносим урон всем через способность "взрыв", который так же повышается уровнями (душами) как и остальные. Взрыв можно сделать как через дамми, так и дать закрытую способность самому герою и активировать взрыв при смерти.
Не каких фиксаций, гемора и утечек.
Болванка прилагается.
Автору совет, или же урок:
Смотри как делают другие, и ломай голову как это можно сделать по своему уникально, возможно проще и оптимальнее.
Спасибо всем.
Или же в перекрепленных файлах.
ответ
Группы юнитов + хэш или структуры. При касте спелла берешь кастера, берешь его ID, проверяешь не записана ли группа в какой-либо из ячеек. Если нет - создаешь группу и записываешь её в ячейку. При смерти юнита делаешь проверку не записана ли по его ID группа юнитов - если записана - удаляешь его и проверяешь количество юнитов в группе и если оно равно 0 - удаляешь группу. Естественно хэш тоже чистишь всюду где нужно.

Это звучит как "Сделайте мне пожалуйста систему формаций". Чтобы научить тебя как это сделать придётся потратить несколько десятков часов. И тут 2 варианта: либо ты будешь читать статьи и выучишь всё сам, либо обращайся к отдельным пользователям и проси о приватных, платных, уроках в частном порядке.
Вопрос вообще ни о чём. То, о чём ты спрашиваешь делается за 20-30 минут + несколько часов на всякие плюшки и дебаг (в худшем случае).
Конкретно тебе стоит почитать о Локальных переменных, Хэше или Структурах.

23

» WarCraft 3 / Не открывается варкрафт через редактор

Похожие вопросы:

ответ
Я понял, что процесс сделан как и "MPQEditor", но всё равно не доганяю. Объясните или киньте ссылку с объяснением, так как я не нашёл инфы на это.
тебе объяснили
прога редактирует файл
Я например не знаю как это делать.
статьи по с++/java/любойдругойяп ждут тебя
У меня такое впечатление складывается что ты со мной как с нубом разговариваешь.
тебе показалось (за исключением этого коммента)
Ок. Но лучше ответ бы, чем отправлять меня в тёмный лес. =(
это и есть ответ
если тебе надо
Напиши мне раз умный. Я например не знаю как это делать. И потом дай мне и инструкцию напиши к ней. =\
то ты ошибся адресом
это Q/A а не сделай всё за меня
тебе объяснили что надо редактировать и чем
что ещё тебе надо объяснить?
как печатать на клаве или как сохранять отредактированный файл?
BaHeK:
war3map.imp - бинарный файл и редактируют его не блокнотом, НЕХ-редактором. Ну и к тому-же там особая структура файла.
блокнот прекрасно справляется
короче ответ на вопрос дан (только злые люди прогу для автора не написали)
поэтому клоз
и контрольный в голову
статья про сабж
ответ
Вершины все правильно прикреплены к костям?

23

» WarCraft 3 / Скил для героя

Похожие вопросы:

ответ
создай проект, распиши что есть, что нужно сделать, пару скринов, свободные вакансии
ответ
Proshel_Doty, иди учи тер вер
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик
ответ
Чтобы отследить созданного клона делается глобальный триггер с событием - Юнит вызывает еще 1 юнита, условие - юнит иллюзия, действие записать в bj_LastCreatedUnit == GetSummonedUnit(), после приказываем даммику кастануть жезл иллюзий в цель, сразу после приказа - берем bj_lastCreatedUnit - это наша иллюзия, записываем её в локалку или если действия мгновенные и не вызывают других триггеров юзающих эту глобалку то делаем с клоном все что нужно...
Т.к фрог юзает триггеры, он делает так, создает триггер, к нему вешает действие где в глобалку записывают GetSummonedUnit(), ну а после удаляет это действие у триггера, берет клона из глобалки, добавлает этому же триггеру другое действие и ставит событие на переодик 0.02 сек, чтобы двигать дамми снаряд, кароч юзает 1 триггер и для поиска клона и для движения дамми и для всего остального.

23

» WarCraft 3 / Модель постройки здания

Похожие вопросы:

ответ
LongbowMan, могу предложить лишь попробовать пересвязать вершины с костью либо создать несколько костей и попривязывать часть вершин к одной, часть к другой, часть к третьей и т. д. Если не поможет, удали сбояющую аниму и создай заново.
Хотя и это может не помочь, ибо модель действительно очень тяжелая.
ответ
Это код аттачмента в модели.
Добавлять надо свой через war3modeleditor, и там указывать нужные пути и видимость (т.е. в каком диапазоне кадров этот аттач видно)
Вот охотничий зал, аттач BirthLink
Видимость у него включается (1) в кадре 3333, когда начинается анимация birth, и выключается (0) в кадре 63333 где она заканчивается
ответ
В редакторе скелета
ответ
VinerX, это нужно только с одним зданием провернуть? Сейчас карту сделаю.
А вот и карта. Всё описание внутри.
ответ
~8gabriel8:
Считаю, лучше отредактировать модель.
Вот в эту тему кинь её xgm.guru/p/wc3/wc3-ne-rabotaet-mdx

23

» WarCraft 3 / Ландшафт

Похожие вопросы:

ответ
Прикреплю торренты для нормального WC3. Также скачай JNPG:R с XGM, обнови pjass.exe и TESH.

Решение твое проблемы:
Ты делаешь кратер в точке X шириной Y и глубиной Z. Чтобы после его убрать, нужно сделать кратер в точке Х шириной Y и глубиной -Z.
ответ
ну. на.
ответ
Самоотсос.
Ответ дал создатель кампании, через we enhancer

23

» WarCraft 3 / Перестали работать триггеры

Похожие вопросы:

ответ
Сначала попробуй перенести все триги в другую карту, если в другой мапе все работает - проблема не в тригах, если всеже в тригах - удаляй по очереди, категориями, выясняй из-за каких не работает. Это проблема частного триггера\переменной. Чаще всего так.
ПЫСЫ не забывай бэкапить карту
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
ответ
XGM Bot:
Похожие вопросы:

ответ
Сначала попробуй перенести все триги в другую карту, если в другой мапе все работает - проблема не в тригах, если всеже в тригах - удаляй по очереди, категориями, выясняй из-за каких не работает. Это проблема частного триггера\переменной. Чаще всего так.
ПЫСЫ не забывай бэкапить карту
ответ
вопросы типа сделайте за меня не принимаются
по поводу того как это делать написано здесь xgm.guru/p/wc3/articles
ответ
unsinkable78, один из вариантов это большое количество однотипных триггеров с периодом
объедении их в 1
а лучше используй таймер вместо триггеров
unsinkable78, так же вероятно проблема в твоих массивах
ты судя по всему задаёшь им размер в 1000
из за чего при запуске игры твой массив заполняется ненужными значениями что забивает память и может приводить к лимиту потока (в вар3 у потока/триггера есть максимальное количество операций которые он может выполнить)
вот пример из твоего j файла
set i = 0
    loop
        exitwhen (i > 1000)
        set udg_squad[i] = CreateGroup()
        set i = i + 1
    endloop
этот код циклом от 0 до 1000 создаёт группы(1000 групп соответственно) и заносит их в массив squad
это тратит более 1000 операций
и таких моментов много
так же я видел места где ты использовал массивы вместо обычных переменных что тоже увеличивает затраты ресурсов и может приводить к лимиту потока
массивы нужно использовать лишь там где без них не обойтись
ответ
Возможно что в каком то триггере не объявил глобальную переменную. Т.е. group g, когда правильно будет group g=null or group g=CreateGroup() если же real or integer то =0
P.S.Сам с этим не раз сталкивался
ответ
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.

ответ
Мой внутренний экстрасенс говорит, что скорее всего вы где-то превысили лимит операций. Более потробно можно сказать только имея карту (ваш Кэп).

23

» WarCraft 3 / Синхронизация

Похожие вопросы:

ответ
когда игроки подгрузили данные из прелоада и синхронизировали их то устанавливаем им флаг загрузил
а потом просто сохраняем всё что надо у тех у кого нету флага
подробнее в статье про прелоад
данные надо синхронить со всеми иначе десинк
ответ
Разработчики игры не доделали синхронизацию строк. Тебе придется искать обходные пути.
ответ
если длинно, то вот
рандом в сетевых, да и не только, играх - всегда псевдорандом, т.к. события происодят у всех, счетчик рандома всегда синхронен
blog.d1stats.ru/blog/dm/214.html о чё писал, тоже немного есть
ответ
как-то делается, но тонкостей дохера - нельзя иметь регионы на карте, чтобы это работало, нельзя иметь события на unitInRange, и тд. и тп. Проще говоря - обломись, дешевле сделать статичный магаз где-то в неиспользуемой зоне
ответ
здесь можно разделить нужные задачи на 2 категории:
  1. работа с игровыми объектами (юниты, разрушаемые объекты, таймеры и т.д)
  2. работа с визуальным отображением (положение камеры, интерфейс, и т.д)

В первом случае если не синхронизировать данные - то будет десинхрон
А во втором случае можно как угодно шаманить с GetLocalPlayer()

Если надо каждому игроку вывести координаты его мышки:
call BJDebugMsg(R2S(GetMouseX())+" - "+R2S(GetMouseY()))
//У каждого игрока на экране будут свои координаты мышки

Если надо определенному игроку вывести координаты его мышки:
if( GetLocalPlayer() == p ) then
	call BJDebugMsg(R2S(GetMouseX())+" - "+R2S(GetMouseY()))
endif
//У игрока "p" на экране будут выведены координаты его мышки

Если надо определенному игроку создать спецэффект:
local string s = ""
if( GetLocalPlayer() == p ) then
	set s = "effect.mdx"
endif
call AddSpecialEffect(s, x, y)
//Игроку "p" будет создан спецэффект в координатах x,y (спецэффект не будет виден другим игрокам)

А вот если нужно будет создать юнита в координатах мышки игрока:
call SyncReal(p, GetMouseX(), GetMouseY())
call CreateUnit(p, 'hfoo', sync_x, sync_y, 270.)
//Игроку "p" будет создан пехотинец в координатах его мышки
//Функцию SyncReal смотри в статье GetLocalPlayer(), но надо будет чуть её дополнить, чтобы она писала синхронизированные значение в глобалки sync_x, sync_y
//Ну и как говорилось выше - для синхронизации требуется время